Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - [c++] Memorizzare il contenuto di un file web
Forum - C/C++ - [c++] Memorizzare il contenuto di un file web

Avatar
mitor (Normal User)
Pro


Messaggi: 73
Iscritto: 01/08/2007

Segnala al moderatore
Postato alle 13:41
Domenica, 18/10/2009
Ciao a tutti,
ho la necessità di leggere un file di testo situato sul server ftp e memorizzarne il contenuto.

in vb.net quando ne avevo la necessita facevo in questo modo:
        
Codice sorgente - presumibilmente VB.NET

  1. Imports System.Net.WebClient
  2.  
  3. Dim wc As New Net.WebClient
  4. Dim stringa As String
  5. stringa = wc.DownloadString("www.mitor.test/test.txt")



cosi che il contenuto di test.txt che è presente nel sito per'esempio mitor.test viene memorizzato in stringa.

su internet non ho dato bene un'occhio sull'argomento, magari qualcuno di voi conosce già il procedimento per memorizzare il contenuto di un file in rete in una stringa.

ovviamente mi serve in c++
sono accettate anche altre soluzioni purchè non richiedano l'uso di librerie di terze parti,e possibilmente escludendo le connessioni FTP.:yup:

Grazie a tutti.

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 13:55
Domenica, 18/10/2009
Puoi usare la API

UrlDownloadToFile

Documentati su

http://msdn.microsoft.com/en-us/library/ms775123(VS.85).aspx

PM Quote
Avatar
mitor (Normal User)
Pro


Messaggi: 73
Iscritto: 01/08/2007

Segnala al moderatore
Postato alle 14:10
Domenica, 18/10/2009
ci ho dato un'occhiata solo che nella documentazione specifica questo:
szFileName
A pointer to a string value containing the name or full path of the file to create for the download. If szFileName includes a path, the target directory must already exist.

quindi in questo modo il file viene scaricato e basta, è possibile leggerci dopo, mentre non è possibile fare una lettura diretta senza la necessita di scaricare il file nel pc?

ho provato a darci un char al posto della destinazione di salvataggio ma ovviamente mi da degli strani caratteri.:-|

PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 14:47
Domenica, 18/10/2009
Con questa API devi scaricare tutto su un file.

Dopo, leggi il file in memoria, lo chiudi e lo cancelli.

Oppure, in maniera un pelino piu' complessa, puoi usare le API

InternetOpenUrl
http://msdn.microsoft.com/en-us/library/aa385098(VS.85).aspx

InternetReadFile
http://msdn.microsoft.com/en-us/library/aa385103(VS.85).aspx

InternetCloseHandle
http://msdn.microsoft.com/en-us/library/aa384350(VS.85).aspx

della libreria wininet.

E quindi, questo articolo di Microsoft

http://support.microsoft.com/kb/149413

Ultima modifica effettuata da theprogrammer il 18/10/2009 alle 14:49
PM Quote
Avatar
mitor (Normal User)
Pro


Messaggi: 73
Iscritto: 01/08/2007

Segnala al moderatore
Postato alle 15:00
Domenica, 18/10/2009
Grazie :)

PM Quote